/**
* @file        VdrLogs
* @brief       
* @version     1.0.0
* @author      Changlin.Jing 
* @date        2023/7/27 13:32
* @copyright   Copyright  2022 Langge Software Co., Ltd. All rights reserved.
*/
#ifndef LANGGE_VDR_VDR_LOGS_H
#define LANGGE_VDR_VDR_LOGS_H
#include "ut_symbols.h"
BEGIN_SPACE_LANGE_VDR
    class VdrLogs{
    public:
        static VdrLogs& GetInstance();
    protected:
        VdrLogs();
        ~VdrLogs();
    public:
        virtual int Init(const char *logId, const char *logDir,const char *logFileId,const bool isSyncTerminal) = 0;
        virtual int WriteLog(const char *logId, const int logLevel,const char *file, const int line, const char *func,const char *content) = 0;
        virtual int WriteFormatLog(const char *logId, const int logLevel,
                                   const char *file, const int line, const char *func,
                                   const char *format, ...) = 0;
    private:
        VdrLogs(VdrLogs &) = delete;
        VdrLogs(VdrLogs &&) = delete;
        VdrLogs &operator=(VdrLogs &) = delete;
        VdrLogs &operator=(VdrLogs &&) = delete;
    };
END_SPACE_LANGE_VDR
#endif //LANGGE_VDR_VDR_LOGS_H
